////////////////////////////////////////////////////////////////////////
// A6 main wdl:
//		Created by WED.
////////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////////////
// The PATH keyword gives directories where template files can be found.
path "C:\\Program Files\\GStudio7\\template_6";	// Path to A6 templates directory
path "C:\\Program Files\\GStudio7\\template_6\\code";	// Path to A6 template code subdirectory
path "C:\\Program Files\\GStudio7\\template_6\\images";	// Path to A6 template image subdirectory
path "C:\\Program Files\\GStudio7\\template_6\\sounds";	// Path to A6 template sound subdirectory
path "C:\\Program Files\\GStudio7\\template_6\\models";	// Path to A6 template model subdirectory

/////////////////////////////////////////////////////////////////
// Filename of the starting level.
string level_str = <Omega_Universe.WMB>; // give file names in angular brackets

////////////////////////////////////////////////////////////////////////////
// Included files
include <gid01.wdl>;	// global ids
include <display00.wdl>;  // basic display settings
include <star.wdl>;
include <planet_movement.wdl>;
include <galaxy_mod.wdl>;



/////////////////////////////////////////////////////////////////
// Desc: The main() function is started at game start
function main()
{
	// set some common flags and variables
	// freeze all entity functions
	freeze_mode = 1;
	// no level has been loaded yet...
	gid01_level_state = gid01_level_not_loaded;

// entry: Warning Level (0,1, or 2)
// entry_help: Sets sensitivity to warnings (0 = none, 1 = some, 2 = all).
	warn_level = 2;	// announce bad texture sizes and bad wdl code


// entry: Starting Mouse Mode (0, 1, or 2)
	mouse_mode = 0;

	// wait 3 frames (for triple buffering) until it is flipped to the foreground
	wait(3);

	// now load the level
	level_load(level_str);

	wait(2);	// let level load
	// level should be loaded at this point...
	gid01_level_state = gid01_level_loaded;

//+++ load starting values


	// un-freeze the game
	freeze_mode = 0;

	// save start of game here
	wait(6);   // allow time for functions that wait for "gid01_level_loaded" to load
	file_delete("start0.SAV");	// remove any old savefile
	wait(1);
	if( game_save("start",0,SV_ALL) <= 0)
	{
		diag("\nWARNING! main - Cannot save 'start' of level (ignore on restarts).");
	}
	else
	{
		diag("\nWDL: main - Game 'start' saved.");
	}

	ent_create("Kyauyu.mdl", vector(4076, 3976, 3576), planetAction);

	// main game loop
	while(1)
	{
		if(gid01_level_state != gid01_level_loaded)
		{
			freeze_mode = 1;  // pause the game
			while(gid01_level_state != gid01_level_loaded) { wait(1); }
			freeze_mode = 0;  // resume the game
		}
		wait(1);
	}

}


// Desc: this is the function used to restart the game.
function	main_restart_game()
{
	// wait 3 frames (for triple buffering) until it is flipped to the foreground
	wait(3);

	// freeze the game
	freeze_mode = 1;

	if( game_load("start",0) <= 0)
	{
		diag("\nWARNING! main_restart_game - Cannot load 'start' of level.");
	}
	else
	{
		diag("\nWDL: main_restart_game - Game 'start' loaded");
	}

	// un-freeze the game
	freeze_mode = 0;
}


// Desc: this is the function used to quit the game.
function	main_quit()
{
//+++			// save global skills & strings
	exit;
}

/////////////////////////////////////////////////////////////////
// The following definitions are for the pro edition window composer
// to define the start and exit window of the application.
WINDOW WINSTART
{
	TITLE			"3D GameStudio";
	SIZE			480,320;
	MODE			IMAGE;	//STANDARD;
	BG_COLOR		RGB(240,240,240);
	FRAME			FTYP1,0,0,480,320;
//	BUTTON		BUTTON_START,SYS_DEFAULT,"Start",400,288,72,24;
	BUTTON		BUTTON_QUIT,SYS_DEFAULT,"Abort",400,288,72,24;
	TEXT_STDOUT	"Arial",RGB(0,0,0),10,10,460,280;
}

/* no exit window at all..
WINDOW WINEND
{
	TITLE			"Finished";
	SIZE			540,320;
	MODE	 		STANDARD;
	BG_COLOR		RGB(0,0,0);
	TEXT_STDOUT	"",RGB(255,40,40),10,20,520,270;

	SET FONT		"",RGB(0,255,255);
	TEXT			"Any key to exit",10,270;
}*/


/////////////////////////////////////////////////////////////////
//INCLUDE <debug.wdl>;